<!DOCTYPE html>
<html>	
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,viewport-fit=cover">		
		<title></title>
		<script>
			;
			(function(win, lib) {
				var doc = win.document;
				var docEl = doc.documentElement;
				var metaEl = doc.querySelector('meta[name="viewport"]');
				var flexibleEl = doc.querySelector('meta[name="flexible"]');
				var dpr = 0;
				var scale = 0;
				var tid;
				var flexible = lib.flexible || (lib.flexible = {});

				if(metaEl) {
					var match = metaEl.getAttribute('content').match(/initial\-scale=([\d\.]+)/);
					if(match) {
						scale = parseFloat(match[1]);
						dpr = parseInt(1 / scale);
					}
				} else if(flexibleEl) {
					var content = flexibleEl.getAttribute('content');
					if(content) {
						var initialDpr = content.match(/initial\-dpr=([\d\.]+)/);
						var maximumDpr = content.match(/maximum\-dpr=([\d\.]+)/);
						if(initialDpr) {
							dpr = parseFloat(initialDpr[1]);
							scale = parseFloat((1 / dpr).toFixed(2));
						}
						if(maximumDpr) {
							dpr = parseFloat(maximumDpr[1]);
							scale = parseFloat((1 / dpr).toFixed(2));
						}
					}
				}

				if(!dpr && !scale) {
					// var isAndroid = win.navigator.appVersion.match(/android/gi);
					var isIPhone = win.navigator.appVersion.match(/iphone/gi);
					var devicePixelRatio = win.devicePixelRatio;
					if(isIPhone) {
						// iOS下，对于2和3的屏，用2倍的方案，其余的用1倍方案
						if(devicePixelRatio >= 3 && (!dpr || dpr >= 3)) {
							dpr = 3;
						} else if(devicePixelRatio >= 2 && (!dpr || dpr >= 2)) {
							dpr = 2;
						} else {
							dpr = 1;
						}
					} else {
						dpr = devicePixelRatio
					}
					scale = 1 / dpr;
				}

				docEl.setAttribute('data-dpr', dpr);
				if(!metaEl) {
					metaEl = doc.createElement('meta');
					metaEl.setAttribute('name', 'viewport');
					metaEl.setAttribute('content', 'initial-scale=' + scale + ', maximum-scale=' + scale + ', minimum-scale=' + scale + ', user-scalable=no , shrink-to-fit=no');
					if(docEl.firstElementChild) {
						docEl.firstElementChild.appendChild(metaEl);
					} else {
						var wrap = doc.createElement('div');
						wrap.appendChild(metaEl);
						doc.write(wrap.innerHTML);
					}
				}

				function refreshRem() {
					var width = docEl.getBoundingClientRect().width;
					if(width / dpr > 540) {
						width = 540 * dpr;
					}
					// var rem = width / 10;
					var rem = width / 7.5;
					docEl.style.fontSize = rem + 'px';
					flexible.rem = win.rem = rem;
				}

				win.addEventListener('resize', function() {
					clearTimeout(tid);
					tid = setTimeout(refreshRem, 300);
				}, false);
				win.addEventListener('pageshow', function(e) {
					if(e.persisted) {
						clearTimeout(tid);
						tid = setTimeout(refreshRem, 300);
					}
				}, false);

				if(doc.readyState === 'complete') {
					// doc.body.style.fontSize = (12 * dpr / 100) + 'rem';
					doc.body.style.fontSize = 14 * dpr + 'px';
				} else {
					doc.addEventListener('DOMContentLoaded', function(e) {
						// doc.body.style.fontSize = (12 * dpr / 100) + 'rem';
						doc.body.style.fontSize = 14 * dpr + 'px';
					}, false);
				}

				refreshRem();

				flexible.dpr = win.dpr = dpr;
				flexible.refreshRem = refreshRem;
				flexible.rem2px = function(d) {
					var val = parseFloat(d) * this.rem;
					if(typeof d === 'string' && d.match(/rem$/)) {
						val += 'px';
					}
					return val;
				}
				flexible.px2rem = function(d) {
					var val = parseFloat(d) / this.rem;
					if(typeof d === 'string' && d.match(/px$/)) {
						val += 'rem';
					}
					return val;
				}

			})(window, window['lib'] || (window['lib'] = {}));
		</script>
	</head>

	<body>
		<div id="app"></div>
		<!-- built files will be auto injected -->
	</body>
	<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
	<!-- 手机端debug调试 http://192.168.99.45:880 -->
	<!--<script src="http://192.168.99.45:880/target/target-script-min.js#anonymous"></script>-->


</html>